#ifndef CUSERGPS_H
#define CUSERGPS_H

#include "cgps.h"
#include "assert.h"

class CUserGPS : public CGps
{
public:
    static bool InitializeInstance()
    {
        m_instance = new CUserGPS();
        return m_instance->initialize();
    }

    static CUserGPS* GetInstance()
    {
        assert(m_instance != NULL);
        return m_instance;
    }

    static void Destroy()
    {
        assert(m_instance != NULL);
        delete m_instance;
        m_instance = NULL;
    }

private:
    CUserGPS(CGps *parent = 0);
    virtual ~CUserGPS();
    bool initialize();

protected Q_SLOTS:
    virtual void work();
    virtual void updateTimeout();

private:
    static CUserGPS *m_instance;
};

#endif // CUSERGPS_H
